#pragma once
#include <stdio.h>
#include <stdlib.h>
#include <assert.h>

typedef int LDataType;

typedef struct ListNode
{
	LDataType data;
	struct ListNode* next;
	struct ListNode* pre;
}LT;

LT* ListInit();

void ListPushBack(LT* phead, LDataType x);
void ListPushFront(LT* phead, LDataType x);

void ListPopBack(LT* phead);
void ListPopFront(LT* phead);

LT* ListFind(LT* phead, LDataType x);

void ListInvertFront(LT* pos, LDataType x);
void ListErase(LT* pos);

void ListDestroy(LT* phead);





void print(LT* phead);

